package org.acsis.jee.dao;

import org.acsis.jee.dao.hibernate.HibernateFactory;

public abstract class DAOFactory {
	
	  public static final int JDBC = 1;
	  public static final int HIBERNATE = 2;
	  
	 /*
	 * les couche DAO existante.
	 */
	  public abstract ClientDAO getClientDAO();
	  public abstract UtilisateurDAO getUtilisateurDAO();
	  public abstract VehiculeDAO getVehiculeDAO();
	  public abstract LieuDAO getLieuDAO();
	  public abstract TrajetDAO getTrajetDAO();
	  
	  /*
	   * Choix des Factory.
	   */
	  public static DAOFactory getDAOFactory(int whichFactory) {
		  
		    switch (whichFactory) {
		      case JDBC: 
		          return null;
		      case HIBERNATE:
		    	  return new HibernateFactory();
		      
		      default : 
		          return null;
		    }
	   }
	  
	  
}

